SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE Procedure [dbo].[SP_TDMOVI_BANC_D03]  
/*-------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                --*/  
/*---Cliente              : OFISIS                 --*/  
/*---Sistema              : Tesoreria                  --*/  
/*---Mödulo               : Empresa                    --*/  
/*---Programa             : Anulaci÷n (1x1 Detallado)  --*/  
/*---                       Movimiento Bancos          --*/  
/*---Script               : tdbanc_p.sql               --*/  
/*---Nombre SP            : SP_TDMOVI_BANC_D03         --*/  
/*---Desarrollado por     : Javier Flores A.           --*/  
/*---Fecha Creaciön       : 10/06/1999                 --*/  
/*---Base Datos           : Microsoft Sql Server       --*/  
/*---Versiön              : 7.0                        --*/  
/*---Invoca a SP          :                            --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     : EVP                        --*/  
/*---Fecha Modificaciön   : 03/04/2001                 --*/   
/*---Detalle Modificaciön : Borra Correctamente Docs. Proveedor en Ingresos --*/  
/*-------------------------------------------------------*/    
/*-------------------------------------------------------*/  
/*---Modificado 2 por     : Reynaldo Menacho           --*/  
/*---Fecha Modificaciön   : 22/04/2005                 --*/   
/*---Detalle Modificaciön : Busqueda del estado actual o anterior    --*/  
/*---						de los documentos				         --*/ 
/*-------------------------------------------------------*/
/*-------------------------------------------------------*/  
/*---Comentarios                                       --*/  
/*---                                                  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Drop Proc SP_TDMOVI_BANC_D03                      --*/  
/*---Grant all on SP_TDMOVI_BANC_D03 to public         --*/   
/*---SP_TDMOVI_BANC_D03                                --*/  
/*-------------------------------------------------------*/  
 @ISCO_EMPR      TD_VC_002,   
 @ISCO_USUA_MODI TD_VC_008_USUA,  
 @ISCO_BANC      TD_VC_003,   
 @ISNU_CNTA_BANC TD_VC_020,  
 @ISAA_BNCO      TD_VC_004,   
 @ISMM_BNCO      TD_VC_002,   
 @ISTI_MOVI_BANC TD_VC_001,    
 @ISNU_COMP_BANC TD_VC_008,   
 @INNU_SECU      TD_IN_001,  
 @ISCO_ENTI      TD_VC_020,  
 @ISTI_ENTI      TD_VC_001,  
 @ISTI_DOCU_ENTI TD_VC_003,  
 @ISNU_DOCU_ENTI TD_VC_020,  
 @INIM_CONV_DOCU TD_NU_016_004,  
 @ISTI_DOCU      TD_VC_003,  
 @ISCO_MONE      TD_VC_003,  
 @INFA_TIPO_CAMB TD_NU_015_006,  
 @INIM_MOVI_DOCU TD_NU_016_004,
 @ISCO_UNID_CNTB TD_VC_003
As
Declare       
    @VNIM_TOTA TD_NU_016_004,  
    @VSST_SIGN TD_VC_001, @VNIM_PRES_REAL TD_NU_016_004, @VNIM_TOTA_DIST TD_NU_016_004,  
    @VNIM_TOTA_CLIE TD_NU_016_004, @VNIM_TOTA_PROV TD_NU_016_004,  
    @VSCO_ESTA_LETR   TD_VC_003, @VNNU_SECU TD_IN_001, @VSCO_CNTA_EMPR TD_VC_010, @VSST_CIER_DOCU TD_VC_001,
	@VNIM_CONV_DOCU TD_NU_016_004, @VSCO_ESTA_ANTE TD_VC_003
  
 Begin Tran SP_TDMOVI_BANC_D03  
  
     Select @VSCO_CNTA_EMPR = RTRIM(ISNULL(CO_CNTA_EMPR, '')), @VSST_CIER_DOCU = ST_CIER_DOCU
     From   TDMOVI_BANC   
     Where  CO_EMPR = @ISCO_EMPR  
     And    CO_UNID_CONC = @ISCO_UNID_CNTB
     And    CO_BANC = @ISCO_BANC  
     And    NU_CNTA_BANC = @ISNU_CNTA_BANC  
     And    AA_BNCO = @ISAA_BNCO  
     And    MM_BNCO = @ISMM_BNCO  
     And    TI_MOVI_BANC = @ISTI_MOVI_BANC  
     And    NU_COMP_BANC = @ISNU_COMP_BANC  
     And    NU_SECU = @INNU_SECU  
  
     Delete TDMOVI_BANC   
     Where  CO_EMPR = @ISCO_EMPR  
     And    CO_UNID_CONC = @ISCO_UNID_CNTB
     And    CO_BANC = @ISCO_BANC  
     And    NU_CNTA_BANC = @ISNU_CNTA_BANC  
     And    AA_BNCO = @ISAA_BNCO  
     And    MM_BNCO = @ISMM_BNCO  
     And    TI_MOVI_BANC = @ISTI_MOVI_BANC  
     And    NU_COMP_BANC = @ISNU_COMP_BANC  
     And    NU_SECU = @INNU_SECU   
  
     If @@error <> 0  
         Begin  
           Rollback Tran SP_TDMOVI_BANC_D03  
           Return  
         End      
  
   If @VSCO_CNTA_EMPR = ''
    Begin
	  Select @VNIM_CONV_DOCU = @INIM_CONV_DOCU * -1

	  -- Se busca el estado anterior del documento
	  Exec SP_TTESTA_ORIG_Q01 @ISCO_EMPR, @ISTI_ENTI, @ISCO_ENTI, @ISTI_DOCU_ENTI, @ISNU_DOCU_ENTI, @VSCO_ESTA_ANTE 
output

	  --Se actualiza el documento y se graba en tabla de kardex de estados de documentos
	  Exec SP_TTACTU_PAGO_Q01 @ISCO_EMPR, @ISTI_ENTI, @ISCO_ENTI, @ISTI_DOCU_ENTI, @ISNU_DOCU_ENTI, 
							@VNIM_CONV_DOCU, @VSCO_ESTA_ANTE, @ISCO_USUA_MODI, @VSST_CIER_DOCU

		If @@error <> 0  
		  Begin  
			Rollback tran SP_TDMOVI_BANC_D03
			Return  
		  End      

    End  
  
     Select @VSST_SIGN = ST_SIGN  
     From   TTDOCU_CNTB  
     Where  TI_DOCU = @ISTI_DOCU_ENTI  
  
     /* Sumo todos los documentos de clientes */  
  
     Select @VNIM_TOTA_CLIE = Isnull(Sum(Isnull(IM_DETA_NEGA,0)),0)  
     From   TDMOVI_BANC  
     Where  CO_EMPR = @ISCO_EMPR  
     And    CO_UNID_CONC = @ISCO_UNID_CNTB
     And    CO_BANC = @ISCO_BANC  
     And    NU_CNTA_BANC = @ISNU_CNTA_BANC  
     And    AA_BNCO = @ISAA_BNCO  
     And    MM_BNCO = @ISMM_BNCO  
     And    TI_MOVI_BANC = @ISTI_MOVI_BANC  
     And    NU_COMP_BANC = @ISNU_COMP_BANC  
     And    TI_ENTI = 'C'  
     And    RTRIM(ISNULL(CO_CNTA_EMPR, '')) = ''  
  
     /* Sumo todos los documentos de proveedores */  
  
     Select @VNIM_TOTA_PROV = Isnull(Sum(Isnull(IM_DETA_NEGA,0)),0)  
     From   TDMOVI_BANC  
     Where  CO_EMPR = @ISCO_EMPR  
     And    CO_UNID_CONC = @ISCO_UNID_CNTB
     And    CO_BANC = @ISCO_BANC  
     And    NU_CNTA_BANC = @ISNU_CNTA_BANC  
     And    AA_BNCO = @ISAA_BNCO   
     And    MM_BNCO = @ISMM_BNCO  
     And    TI_MOVI_BANC = @ISTI_MOVI_BANC  
     And    NU_COMP_BANC = @ISNU_COMP_BANC  
     And    TI_ENTI = 'P'  
     And    RTRIM(ISNULL(CO_CNTA_EMPR, '')) = ''  
  
     /* Sumo todos los registros ingresados por el usuario */  
  
     Select @VNIM_TOTA_DIST = Isnull(Sum(Isnull(IM_DETA_NEGA,0)),0)  
     From   TDMOVI_BANC  
     Where  CO_EMPR = @ISCO_EMPR  
     And    CO_UNID_CONC = @ISCO_UNID_CNTB
     And    CO_BANC = @ISCO_BANC  
     And    NU_CNTA_BANC = @ISNU_CNTA_BANC  
     And    AA_BNCO = @ISAA_BNCO  
     And    MM_BNCO = @ISMM_BNCO  
     And    TI_MOVI_BANC = @ISTI_MOVI_BANC  
     And    NU_COMP_BANC = @ISNU_COMP_BANC  
     And    RTRIM(ISNULL(CO_CNTA_EMPR, '')) != ''  
  
  
     Select  @VNIM_TOTA = isnull(@VNIM_TOTA_CLIE,0) + isnull(@VNIM_TOTA_PROV,0) + isnull(@VNIM_TOTA_DIST,0)  
  
  
     Update TCMOVI_BANC  
     Set IM_MOVI = Round(@VNIM_TOTA,2),  
         CO_USUA_MODI = @ISCO_USUA_MODI, FE_USUA_MODI = getdate()           
     Where CO_EMPR = @ISCO_EMPR   
     And   CO_UNID_CONC = @ISCO_UNID_CNTB
     And   CO_BANC = @ISCO_BANC   
     And   NU_CNTA_BANC = @ISNU_CNTA_BANC   
     And   AA_BNCO = @ISAA_BNCO  
     And   MM_BNCO = @ISMM_BNCO   
     And   TI_MOVI_BANC = @ISTI_MOVI_BANC   
     And   NU_COMP_BANC = @ISNU_COMP_BANC   
  
     If @@error <> 0  
        Begin  
          Rollback Tran SP_TDMOVI_BANC_D03  
     Return  
        End    
  
commit Tran SP_TDMOVI_BANC_D03  
  
/*------------------------ Fin ------------------------------*/


GO
